<!-- kind:binary;verdict:incompatible;affected:23.7;added:38;removed:10;type_problems_high:0;type_problems_medium:2;type_problems_low:6;interface_problems_high:1;interface_problems_medium:10;interface_problems_low:1;changed_constants:0;tool_version:2.3 -->
<!-- kind:source;verdict:incompatible;affected:12.3;added:38;removed:10;type_problems_high:0;type_problems_medium:0;type_problems_low:8;interface_problems_high:1;interface_problems_medium:8;interface_problems_low:2;changed_constants:0;interface_changes_other:1;tool_version:2.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="keywords" content="libsysrepo.so, compatibility, API, ABI, report" />
<meta name="description" content="API/ABI compatibility report for the libsysrepo.so object between 5.6.67 and 6.4.19 versions" />
<title>libsysrepo.so: 5.6.67 to 6.4.19 compatibility report</title>
<style type="text/css">
body {
    font-family:Arial, sans-serif;
    background-color:White;
    color:Black;
}
hr {
    color:Black;
    background-color:Black;
    height:1px;
    border:0;
}
h1 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:1.625em;
}
h2 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:1.25em;
    white-space:nowrap;
}
span.section {
    font-weight:bold;
    cursor:pointer;
    color:#003E69;
    white-space:nowrap;
    margin-left:0.3125em;
}
span.new_sign {
    font-weight:bold;
    margin-left:1.65em;
    color:#003E69;
}
span.new_sign_lbl {
    margin-left:3em;
    font-size:1em;
    color:Black;
}
span:hover.section {
    color:#336699;
}
span.sect_aff {
    cursor:pointer;
    padding-left:1.55em;
    font-size:0.875em;
    color:#cc3300;
}
span.sect_info {
    cursor:pointer;
    padding-left:1.55em;
    font-size:0.875em;
    color:Black;
}
span.ext {
    font-weight:normal;
}
span.h_name {
    color:#cc3300;
    font-size:0.875em;
    font-weight:bold;
}
div.h_list, div.lib_list {
    font-size:0.94em;
    padding-left:0.4em;
}
span.ns {
    color:#408080;
    font-size:0.94em;
}
span.lib_name {
    color:Green;
    font-size:0.875em;
    font-weight:bold;
}
span.iname {
    font-weight:bold;
    color:#003E69;
    margin-left:0.3125em;
}
span.iname_b {
    font-weight:bold;
}
span.iname_a {
    color:#333333;
    font-weight:bold;
    font-size:0.94em;
}
span.sym_p {
    font-weight:normal;
    white-space:normal;
}
span.sym_pd {
    white-space:normal;
}
span.sym_p span, span.sym_pd span {
    white-space:nowrap;
}
div.affect {
    padding-left:1em;
    padding-bottom:10px;
    font-size:0.87em;
    font-style:italic;
    line-height:0.9em;
}
div.affected {
    padding-left:1.9em;
    padding-top:10px;
}
table.ptable {
    border-collapse:collapse;
    border:1px outset black;
    margin-left:0.95em;
    margin-top:3px;
    margin-bottom:3px;
    width:56.25em;
}
table.ptable td {
    border:1px solid gray;
    padding:3px;
    font-size:0.875em;
    text-align:left;
    vertical-align:top;
    max-width:28em;
    word-wrap:break-word;
}
table.ptable th.pn {
    width:2%;
}
table.ptable th.chg {
    width:47%;
}
table.vtable {
    border-collapse:collapse;
    border:1px outset black;
    margin-left:1.9em;
    margin-top:0.7em;
}
table.vtable td {
    border:1px solid gray;
    padding:3px;
    font-size:0.875em;
    vertical-align:top;
    max-width:450px;
    word-wrap:break-word;
}
table.ptable th, table.vtable th {
    background-color:#eeeeee;
    font-weight:bold;
    color:#333333;
    font-family:Verdana, Arial;
    font-size:0.875em;
    border:1px solid gray;
    text-align:center;
    vertical-align:top;
    white-space:nowrap;
    padding:3px;
}
table.summary {
    border-collapse:collapse;
    border:1px outset black;
}
table.summary th {
    background-color:#eeeeee;
    font-weight:normal;
    text-align:left;
    font-size:0.94em;
    white-space:nowrap;
    border:1px inset gray;
    padding:3px;
}
table.summary td {
    text-align:right;
    white-space:nowrap;
    border:1px inset gray;
    padding:3px 5px 3px 10px;
}
span.mngl {
    padding-left:1em;
    font-size:0.875em;
    cursor:text;
    color:#444444;
    font-weight:bold;
}
span.pleft {
    padding-left:2.5em;
}
span.sym_ver {
    color:#333333;
    white-space:nowrap;
    font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
    color:#333333;
    font-weight:normal;
}
span.color_p {
    font-style:italic;
    color:Brown;
}
span.p {
    font-style:italic;
}
span.fp {
    font-style:italic;
    background-color:#DCDCDC;
}
span.ttype {
    font-weight:normal;
}
span.nowrap {
    white-space:nowrap;
}
span.value {
    font-weight:bold;
}
.passed {
    background-color:#CCFFCC;
    font-weight:normal;
}
.warning {
    background-color:#F4F4AF;
    font-weight:normal;
}
.failed {
    background-color:#FFCCCC;
    font-weight:normal;
}
.new {
    background-color:#C6DEFF;
    font-weight:normal;
}
.compatible {
    background-color:#CCFFCC;
    font-weight:normal;
}
.almost_compatible {
    background-color:#FFDAA3;
    font-weight:normal;
}
.incompatible {
    background-color:#FFCCCC;
    font-weight:normal;
}
.gray {
    background-color:#DCDCDC;
    font-weight:normal;
}
.top_ref {
    font-size:0.69em;
}
.footer {
    font-size:0.75em;
}

.tabset {
    float:left;
}
a.tab {
    border:1px solid Black;
    float:left;
    margin:0px 5px -1px 0px;
    padding:3px 5px 3px 5px;
    position:relative;
    font-size:0.875em;
    background-color:#DDD;
    text-decoration:none;
    color:Black;
}
a.disabled:hover
{
    color:Black;
    background:#EEE;
}
a.active:hover
{
    color:Black;
    background:White;
}
a.active {
    border-bottom-color:White;
    background-color:White;
}
div.tab {
    border-top:1px solid Black;
    padding:0px;
    width:100%;
    clear:both;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
    e = document.getElementById(id);
    if(e.style.display == 'none')
    {
        e.style.display = 'block';
        e.style.visibility = 'visible';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
    }
    else
    {
        e.style.display = 'none';
        e.style.visibility = 'hidden';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
    }
}
function initTabs()
{
    var url = window.location.href;
    if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1)
    {
        var tab1 = document.getElementById('BinaryID');
        var tab2 = document.getElementById('SourceID');
        tab1.className='tab disabled';
        tab2.className='tab active';
    }
    var sets = document.getElementsByTagName('div');
    for (var i = 0; i < sets.length; i++)
    {
        if (sets[i].className.indexOf('tabset') != -1)
        {
            var tabs = [];
            var links = sets[i].getElementsByTagName('a');
            for (var j = 0; j < links.length; j++)
            {
                if (links[j].className.indexOf('tab') != -1)
                {
                    tabs.push(links[j]);
                    links[j].tabs = tabs;
                    var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1));
                    //reset all tabs on start
                    if (tab)
                    {
                        if (links[j].className.indexOf('active')!=-1) {
                            tab.style.display = 'block';
                        }
                        else {
                            tab.style.display = 'none';
                        }
                    }
                    links[j].onclick = function()
                    {
                        var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1));
                        if (tab)
                        {
                            //reset all tabs before change
                            for (var k = 0; k < this.tabs.length; k++)
                            {
                                document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none';
                                this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled');
                            }
                            this.className = 'tab active';
                            tab.style.display = 'block';
                            // window.location.hash = this.id.replace('ID', '');
                            return false;
                        }
                    }
                }
            }
        }
    }
    if(url.indexOf('#')!=-1) {
        location.href=location.href;
    }
}
if (window.addEventListener) window.addEventListener('load', initTabs, false);
else if (window.attachEvent) window.attachEvent('onload', initTabs);
-->
</script>
</head>
<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libsysrepo.so</span> object between <span style='color:Red;'>5.6.67</span> and <span style='color:Red;'>6.4.19</span> versions on <span style='color:Blue;'>x86_64</span></h1>

            <br/>
            <div class='tabset'>
            <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a>
            <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a>
            </div><div id='BinaryTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>libsysrepo.so</td></tr>
<tr><th>Version #1</th><td>5.6.67</td></tr>
<tr><th>Version #2</th><td>6.4.19</td></tr>
<tr><th>Arch</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>11.2.1</td></tr>
<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>3</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>114 / 41</td></tr>
<tr><th>Compatibility</th>
<td class='incompatible'>76.3%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>38</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>10</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>2</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>6</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Binary_Problems_High' style='color:Blue;'>1</a></td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Symbol_Binary_Problems_Medium' style='color:Blue;'>10</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Symbol_Binary_Problems_Low' style='color:Blue;'>1</a></td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
</table>

<a name='Binary_Added'></a><h2>Added Symbols <span class='new'>&nbsp;38&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span>, <span class='lib_name'>libsysrepo.so.6.4.19</span><br/>
<span class="iname">sr_check_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>int* <span class='color_p'>read</span></span>, <span>int* <span class='color_p'>write</span></span>&#160;)</span></span><br/>
<span class="iname">sr_discard_oper_changes&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>time_t* <span class='color_p'>start_time</span></span>, <span>time_t* <span class='color_p'>stop_time</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_modify_stop_time&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>time_t <span class='color_p'>stop_time</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_modify_xpath&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const* <span class='color_p'>xpath</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_content_id&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_error_data&#160;<span class='sym_p'><span>(&#160;sr_error_info_err_t* <span class='color_p'>err</span></span>, <span>uint32_t <span class='color_p'>idx</span></span>, <span>uint32_t* <span class='color_p'>size</span></span>, <span>void const** <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>char** <span class='color_p'>owner</span></span>, <span>char** <span class='color_p'>group</span></span>, <span>mode_t* <span class='color_p'>perm</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_su_uid&#160;<span class='sym_p'>(&#160;)</span></span><br/>
<span class="iname">sr_install_module_custom_ds&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>sr_module_ds_t const* <span class='color_p'>module_ds</span></span>&#160;)</span></span><br/>
<span class="iname">sr_module_change_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_module_change_sub_modify_xpath&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const* <span class='color_p'>xpath</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>struct timespec* <span class='color_p'>start_time</span></span>, <span>struct timespec* <span class='color_p'>stop_time</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_sub_modify_stop_time&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct timespec const* <span class='color_p'>start_time</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>, <span>void(*<span class='color_p'>callback</span>)(struct sr_session_ctx_s*, unsigned int, ,char const*, struct sr_val_s const*, unsigned long const, struct timespec*, void*)</span>, <span>void* <span class='color_p'>private_data</span></span>, <span>sr_subscr_options_t <span class='color_p'>opts</span></span>, <span>sr_subscription_ctx_t** <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct timespec const* <span class='color_p'>start_time</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>, <span>void(*<span class='color_p'>callback</span>)(struct sr_session_ctx_s*, unsigned int, ,struct lyd_node const*, struct timespec*, void*)</span>, <span>void* <span class='color_p'>private_data</span></span>, <span>sr_subscr_options_t <span class='color_p'>opts</span></span>, <span>sr_subscription_ctx_t** <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_oper_delete_item_str&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>sr_edit_options_t const <span class='color_p'>opts</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_del_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_dup_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>src_session</span></span>, <span>sr_session_ctx_t* <span class='color_p'>trg_session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_error_info_t const** <span class='color_p'>error_info</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>idx</span></span>, <span>uint32_t* <span class='color_p'>size</span></span>, <span>void const** <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_orig_name&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_push_error_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>size</span></span>, <span>void const* <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_push_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>size</span></span>, <span>void const* <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_error_format&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>error_format</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_error_message&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_orig_name&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>orig_name</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_unsubscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_set_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>char const* <span class='color_p'>owner</span></span>, <span>char const* <span class='color_p'>group</span></span>, <span>mode_t <span class='color_p'>perm</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_get_last_sub_id&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t const* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_get_suspended&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>int* <span class='color_p'>suspended</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_process_events&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct timespec* <span class='color_p'>stop_time_in</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_thread_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_thread_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_unsubscribe_sub&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">srplg_log&#160;<span class='sym_p'><span>(&#160;char const* <span class='color_p'>plg_name</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols <span class='failed'>&nbsp;10&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span>, <span class='lib_name'>libsysrepo.so.5.6.67</span><br/>
<span class="iname">sr_event_notif_sub_id_get_last&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t const* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_error_info_t const** <span class='color_p'>error_info</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_sr_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_user&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>nc_sid</span></span>&#160;)</span></span><br/>
<span class="iname">sr_set_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Binary_Problems'></a><a name='Symbol_Binary_Problems_High'></a><a name='Interface_Binary_Problems_High'></a>
<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span>, <span class='lib_name'>libsysrepo.so.5.6.67</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> sr_get_lock&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_datastore_t <span class='color_p'>datastore</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int* <span class='color_p'>is_locked</span></span>, <span>uint32_t* <span class='color_p'>id</span></span>, <span>uint32_t* <span class='color_p'>nc_id</span></span>, <span>time_t* <span class='color_p'>timestamp</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_get_lock&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int* <span class='color_p'>is_locked</span></span>, <span>uint32_t* <span class='color_p'>id</span></span>, <span>struct timespec* <span class='color_p'>timestamp</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>6th</b> middle parameter <b>nc_id</b> has been removed from the calling stack.</td>
<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a>
<h2>Problems with Data Types, Medium Severity <span class='failed'>&nbsp;2&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_2')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> sr_val_s <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_2" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>dflt</b> has been changed from <span class='nowrap'><b>_Bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td>
<td>This field may be incorrectly initialized or accessed by applications.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_3')">
[+] affected symbols: 25 (21.9%)</span>
<div id="c_3" style="display:none;">
<div class='affected'><span class='iname_a'>sr_dup_val&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>value</span></span>, <span>sr_val_t** <i>value_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_dup_values&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>, <span>sr_val_t** <i>values_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>sr_val_t const* <span class='fp'>values</span></span>, <span>size_t const <i>values_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_free_val&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_free_values&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_change_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>sr_change_iter_t* <i>iter</i></span>, <span>sr_change_oper_t* <i>operation</i></span>, <span>sr_val_t** <i>old_value</i></span>, <span>sr_val_t** <span class='fp'>new_value</span></span>&#160;)</span></span><br/>
<div class='affect'>5th parameter &#39;new_value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_item&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_val_t** <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_items&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_get_oper_options_t const <i>opts</i></span>, <span>sr_val_t** <span class='fp'>values</span></span>, <span>size_t* <i>value_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>5th parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_new_val&#160;<span class='sym_p'><span>(&#160;char const* <i>xpath</i></span>, <span>sr_val_t** <span class='fp'>value_p</span></span>&#160;)</span></span><br/>
<div class='affect'>2nd parameter &#39;value_p&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_new_values&#160;<span class='sym_p'><span>(&#160;size_t <i>count</i></span>, <span>sr_val_t** <span class='fp'>values_p</span></span>&#160;)</span></span><br/>
<div class='affect'>2nd parameter &#39;values_p&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
 <b>...</b>
<br/>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_4')">
<span class='ext'>[+]</span> <span class='ttype'>union</span> sr_data_u <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_4" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>bool_val</b> has been changed from <span class='nowrap'><b>_Bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td>
<td>This field may be incorrectly initialized or accessed by applications.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_5')">
[+] affected symbols: 25 (21.9%)</span>
<div id="c_5" style="display:none;">
<div class='affected'><span class='iname_a'>sr_dup_val&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>value</span></span>, <span>sr_val_t** <i>value_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 1st parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_dup_values&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>, <span>sr_val_t** <i>values_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 1st parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>sr_val_t const* <span class='fp'>values</span></span>, <span>size_t const <i>values_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 3rd parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_free_val&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 1st parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_free_values&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 1st parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_change_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>sr_change_iter_t* <i>iter</i></span>, <span>sr_change_oper_t* <i>operation</i></span>, <span>sr_val_t** <i>old_value</i></span>, <span>sr_val_t** <span class='fp'>new_value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;new_value.data&#39; in 5th parameter &#39;new_value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_item&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_val_t** <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 4th parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_items&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_get_oper_options_t const <i>opts</i></span>, <span>sr_val_t** <span class='fp'>values</span></span>, <span>size_t* <i>value_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 5th parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_new_val&#160;<span class='sym_p'><span>(&#160;char const* <i>xpath</i></span>, <span>sr_val_t** <span class='fp'>value_p</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value_p.data&#39; in 2nd parameter &#39;value_p&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_new_values&#160;<span class='sym_p'><span>(&#160;size_t <i>count</i></span>, <span>sr_val_t** <span class='fp'>values_p</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values_p.data&#39; in 2nd parameter &#39;values_p&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
 <b>...</b>
<br/>
</div>
</div>
<br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Symbol_Binary_Problems_Medium'></a><a name='Interface_Binary_Problems_Medium'></a>
<h2>Problems with Symbols, Medium Severity <span class='failed'>&nbsp;10&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span>, <span class='lib_name'>libsysrepo.so.5.6.67</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_6')">
<span class='ext'>[+]</span> sr_apply_changes&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_6" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_apply_changes&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>3rd</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_7')">
<span class='ext'>[+]</span> sr_copy_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>sr_datastore_t <span class='color_p'>src_datastore</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_7" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_copy_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_8')">
<span class='ext'>[+]</span> sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>sr_val_t const* <span class='color_p'>values</span></span>, <span>size_t const <span class='color_p'>values_cnt</span></span>&#160;)</span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_8" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>sr_val_t const* <span class='color_p'>values</span></span>, <span>size_t const <span class='color_p'>values_cnt</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>timeout_ms</b> of type <b>uint32_t</b> has been added to the calling stack.</td>
<td>This parameter will not be initialized by old clients.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>wait</b> of type <b>int</b> has been added to the calling stack.</td>
<td>This parameter will not be initialized by old clients.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_9')">
<span class='ext'>[+]</span> sr_event_notif_send_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct lyd_node* <span class='color_p'>notif</span></span>&#160;)</span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_9" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_event_notif_send_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct lyd_node* <span class='color_p'>notif</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>timeout_ms</b> of type <b>uint32_t</b> has been added to the calling stack.</td>
<td>This parameter will not be initialized by old clients.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>wait</b> of type <b>int</b> has been added to the calling stack.</td>
<td>This parameter will not be initialized by old clients.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_10')">
<span class='ext'>[+]</span> sr_get_change_tree_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_change_iter_t* <span class='color_p'>iter</span></span>, <span>sr_change_oper_t* <span class='color_p'>operation</span></span>, <span>struct lyd_node const** <span class='color_p'>node</span></span>, <span>char const** <span class='color_p'>prev_value</span></span>, <span>char const** <span class='color_p'>prev_list</span></span>, <span>_Bool* <span class='color_p'>prev_dflt</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_10" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_get_change_tree_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_change_iter_t* <span class='color_p'>iter</span></span>, <span>struct lyd_node const** <span class='color_p'>node</span></span>, <span>char const** <span class='color_p'>prev_value</span></span>, <span>char const** <span class='color_p'>prev_list</span></span>, <span>int* <span class='color_p'>prev_dflt</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Base type of <b>7th</b> parameter <b>prev_dflt</b> has been changed from <span class='nowrap'><b>_Bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td>
<td>This parameter may be incorrectly initialized by applications.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_11')">
<span class='ext'>[+]</span> sr_install_module&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>int <span class='color_p'>feat_count</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_11" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_install_module&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>feat_count</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_12')">
<span class='ext'>[+]</span> sr_replace_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node* <span class='color_p'>src_config</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_12" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_replace_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node* <span class='color_p'>src_config</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>This parameter will be ignored by the function.</td>
</tr>
</table>
<br/>
</div>
<br/>
<span class='h_name'>xpath.h</span>, <span class='lib_name'>libsysrepo.so.5.6.67</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_13')">
<span class='ext'>[+]</span> sr_xpath_node_name_eq&#160;<span class='sym_p'><span>(&#160;char const* <span class='color_p'>xpath</span></span>, <span>char const* <span class='color_p'>node_name</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_13" style="display:none;">

<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of return value has been changed from <span class='nowrap'><b>_Bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td>
<td>Applications will obtain a different return value and execution may change.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;6&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_14')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_event_notif_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_14" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>void(*)(sr_session_ctx_t*, sr_ev_notif_type_t const, char const*, sr_val_t const*, size_t const, time_t, void*)</span> to <span class='value'>void(*)(sr_session_ctx_t*, uint32_t, , char const*, sr_val_t const*, size_t const, struct timespec*, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_15')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_15" style="display:none;">
<div class='affected'><span class='iname_a'>sr_event_notif_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>time_t <i>start_time</i></span>, <span>time_t <i>stop_time</i></span>, <span>void(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, enum sr_ev_notif_type_e const, char const*, struct sr_val_s const*, unsigned long const, long, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>6th parameter &#39;callback&#39; is of type &#39;sr_event_notif_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_16')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_event_notif_tree_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_16" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>void(*)(sr_session_ctx_t*, sr_ev_notif_type_t const, struct lyd_node const*, time_t, void*)</span> to <span class='value'>void(*)(sr_session_ctx_t*, uint32_t, , struct lyd_node const*, struct timespec*, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_17')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_17" style="display:none;">
<div class='affected'><span class='iname_a'>sr_event_notif_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>time_t <i>start_time</i></span>, <span>time_t <i>stop_time</i></span>, <span>void(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, enum sr_ev_notif_type_e const, struct lyd_node const*, long, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>6th parameter &#39;callback&#39; is of type &#39;sr_event_notif_tree_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_18')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_module_change_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_18" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, char const*, sr_event_t, uint32_t, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, char const*, , uint32_t, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_19')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_19" style="display:none;">
<div class='affected'><span class='iname_a'>sr_module_change_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, char const*, enum sr_event_e, unsigned int, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;callback&#39; is of type &#39;sr_module_change_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_20')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_oper_get_items_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_20" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, char const*, char const*, uint32_t, struct lyd_node**, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, char const*, char const*, uint32_t, struct lyd_node**, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_21')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_21" style="display:none;">
<div class='affected'><span class='iname_a'>sr_oper_get_items_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>path</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, char const*, char const*, unsigned int, struct lyd_node**, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;callback&#39; is of type &#39;sr_oper_get_items_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_22')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_rpc_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_22" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, sr_val_t const*, size_t const, sr_event_t, uint32_t, sr_val_t**, size_t*, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, sr_val_t const*, size_t const, , uint32_t, sr_val_t**, size_t*, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_23')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_23" style="display:none;">
<div class='affected'><span class='iname_a'>sr_rpc_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, struct sr_val_s const*, unsigned long const, enum sr_event_e, unsigned int, struct sr_val_s**, unsigned long*, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;callback&#39; is of type &#39;sr_rpc_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_24')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_rpc_tree_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_24" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, struct lyd_node const*, sr_event_t, uint32_t, struct lyd_node*, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, struct lyd_node const*, , uint32_t, struct lyd_node*, void*)</span>.</td>
<td>Replacement of the base data type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_25')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_25" style="display:none;">
<div class='affected'><span class='iname_a'>sr_rpc_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, struct lyd_node const*, enum sr_event_e, unsigned int, struct lyd_node*, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;callback&#39; is of type &#39;sr_rpc_tree_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Symbol_Binary_Problems_Low'></a><a name='Interface_Binary_Problems_Low'></a>
<h2>Problems with Symbols, Low Severity <span class='warning'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span>, <span class='lib_name'>libsysrepo.so.5.6.67</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_26')">
<span class='ext'>[+]</span> sr_set_diff_check_callback&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_diff_check_cb <span class='color_p'>callback</span></span>&#160;)</span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_26" style="display:none;">

<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td>
<td>Replacement of return type may indicate a change in its semantic meaning.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;3&nbsp;</span></h2><hr/>
<div class='h_list'>
sysrepo.h<br/>
values.h<br/>
xpath.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libsysrepo.so.5.6.67<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><div id='SourceTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>libsysrepo.so</td></tr>
<tr><th>Version #1</th><td>5.6.67</td></tr>
<tr><th>Version #2</th><td>6.4.19</td></tr>
<tr><th>Arch</th><td>x86_64</td></tr>
<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>3</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>114 / 41</td></tr>
<tr><th>Compatibility</th>
<td class='almost_compatible'>87.7%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>38</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>10</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>8</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Source_Problems_High' style='color:Blue;'>1</a></td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Symbol_Source_Problems_Medium' style='color:Blue;'>8</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Symbol_Source_Problems_Low' style='color:Blue;'>2</a></td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
<tr><th>Other Changes<br/>in Symbols</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Symbols' style='color:Blue;'>1</a></td></tr>
</table>

<a name='Source_Added'></a><h2>Added Symbols <span class='new'>&nbsp;38&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="iname">sr_check_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>int* <span class='color_p'>read</span></span>, <span>int* <span class='color_p'>write</span></span>&#160;)</span></span><br/>
<span class="iname">sr_discard_oper_changes&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>time_t* <span class='color_p'>start_time</span></span>, <span>time_t* <span class='color_p'>stop_time</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_modify_stop_time&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>time_t <span class='color_p'>stop_time</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_modify_xpath&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const* <span class='color_p'>xpath</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_content_id&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_error_data&#160;<span class='sym_p'><span>(&#160;sr_error_info_err_t* <span class='color_p'>err</span></span>, <span>uint32_t <span class='color_p'>idx</span></span>, <span>uint32_t* <span class='color_p'>size</span></span>, <span>void const** <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>char** <span class='color_p'>owner</span></span>, <span>char** <span class='color_p'>group</span></span>, <span>mode_t* <span class='color_p'>perm</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_su_uid&#160;<span class='sym_p'>(&#160;)</span></span><br/>
<span class="iname">sr_install_module_custom_ds&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>sr_module_ds_t const* <span class='color_p'>module_ds</span></span>&#160;)</span></span><br/>
<span class="iname">sr_module_change_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_module_change_sub_modify_xpath&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const* <span class='color_p'>xpath</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_sub_get_info&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>char const** <span class='color_p'>module_name</span></span>, <span>char const** <span class='color_p'>xpath</span></span>, <span>struct timespec* <span class='color_p'>start_time</span></span>, <span>struct timespec* <span class='color_p'>stop_time</span></span>, <span>uint32_t* <span class='color_p'>filtered_out</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_sub_modify_stop_time&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct timespec const* <span class='color_p'>start_time</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>, <span>void(*<span class='color_p'>callback</span>)(struct sr_session_ctx_s*, unsigned int, ,char const*, struct sr_val_s const*, unsigned long const, struct timespec*, void*)</span>, <span>void* <span class='color_p'>private_data</span></span>, <span>sr_subscr_options_t <span class='color_p'>opts</span></span>, <span>sr_subscription_ctx_t** <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_notif_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct timespec const* <span class='color_p'>start_time</span></span>, <span>struct timespec const* <span class='color_p'>stop_time</span></span>, <span>void(*<span class='color_p'>callback</span>)(struct sr_session_ctx_s*, unsigned int, ,struct lyd_node const*, struct timespec*, void*)</span>, <span>void* <span class='color_p'>private_data</span></span>, <span>sr_subscr_options_t <span class='color_p'>opts</span></span>, <span>sr_subscription_ctx_t** <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_oper_delete_item_str&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>sr_edit_options_t const <span class='color_p'>opts</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_del_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_dup_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>src_session</span></span>, <span>sr_session_ctx_t* <span class='color_p'>trg_session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_error_info_t const** <span class='color_p'>error_info</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>idx</span></span>, <span>uint32_t* <span class='color_p'>size</span></span>, <span>void const** <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_orig_name&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_push_error_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>size</span></span>, <span>void const* <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_push_orig_data&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>size</span></span>, <span>void const* <span class='color_p'>data</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_error_format&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>error_format</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_error_message&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_orig_name&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>orig_name</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_unsubscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_set_module_ds_access&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int <span class='color_p'>mod_ds</span></span>, <span>char const* <span class='color_p'>owner</span></span>, <span>char const* <span class='color_p'>group</span></span>, <span>mode_t <span class='color_p'>perm</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_get_last_sub_id&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t const* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_get_suspended&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>, <span>int* <span class='color_p'>suspended</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_process_events&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct timespec* <span class='color_p'>stop_time_in</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_thread_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_subscription_thread_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_unsubscribe_sub&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">srplg_log&#160;<span class='sym_p'><span>(&#160;char const* <span class='color_p'>plg_name</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'>&nbsp;10&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="iname">sr_event_notif_sub_id_get_last&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t const* <span class='color_p'>subscription</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_resume&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_event_notif_sub_suspend&#160;<span class='sym_p'><span>(&#160;sr_subscription_ctx_t* <span class='color_p'>subscription</span></span>, <span>uint32_t <span class='color_p'>sub_id</span></span>&#160;)</span></span><br/>
<span class="iname">sr_get_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_error_info_t const** <span class='color_p'>error_info</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_sr_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_event_user&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_get_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>&#160;)</span></span><br/>
<span class="iname">sr_session_set_nc_id&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>nc_sid</span></span>&#160;)</span></span><br/>
<span class="iname">sr_set_error&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span>&#160;)</span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Source_Problems'></a><a name='Symbol_Source_Problems_High'></a><a name='Interface_Source_Problems_High'></a>
<h2>Problems with Symbols, High Severity <span class='failed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_27')">
<span class='ext'>[+]</span> sr_get_lock&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_datastore_t <span class='color_p'>datastore</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int* <span class='color_p'>is_locked</span></span>, <span>uint32_t* <span class='color_p'>id</span></span>, <span>uint32_t* <span class='color_p'>nc_id</span></span>, <span>time_t* <span class='color_p'>timestamp</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_27" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_get_lock&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>int* <span class='color_p'>is_locked</span></span>, <span>uint32_t* <span class='color_p'>id</span></span>, <span>struct timespec* <span class='color_p'>timestamp</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>6th</b> middle parameter <b>nc_id</b> has been removed from the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Source_Problems'></a><a name='Symbol_Source_Problems_Medium'></a><a name='Interface_Source_Problems_Medium'></a>
<h2>Problems with Symbols, Medium Severity <span class='failed'>&nbsp;8&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_28')">
<span class='ext'>[+]</span> sr_apply_changes&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_28" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_apply_changes&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>3rd</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_29')">
<span class='ext'>[+]</span> sr_copy_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>sr_datastore_t <span class='color_p'>src_datastore</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_29" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_copy_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_30')">
<span class='ext'>[+]</span> sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>sr_val_t const* <span class='color_p'>values</span></span>, <span>size_t const <span class='color_p'>values_cnt</span></span>&#160;)</span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_30" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>sr_val_t const* <span class='color_p'>values</span></span>, <span>size_t const <span class='color_p'>values_cnt</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>timeout_ms</b> of type <b>uint32_t</b> has been added to the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>wait</b> of type <b>int</b> has been added to the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_31')">
<span class='ext'>[+]</span> sr_event_notif_send_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct lyd_node* <span class='color_p'>notif</span></span>&#160;)</span> <span class='failed'>&nbsp;2&nbsp;</span></span>
<br/>
<div id="c_31" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_event_notif_send_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>struct lyd_node* <span class='color_p'>notif</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Parameter <b>timeout_ms</b> of type <b>uint32_t</b> has been added to the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
<tr>
<th>2</th>
<td>Parameter <b>wait</b> of type <b>int</b> has been added to the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_32')">
<span class='ext'>[+]</span> sr_install_module&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>int <span class='color_p'>feat_count</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_32" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_install_module&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>char const* <span class='color_p'>schema_path</span></span>, <span>char const* <span class='color_p'>search_dirs</span></span>, <span>char const** <span class='color_p'>features</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>feat_count</b> has been removed from the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_33')">
<span class='ext'>[+]</span> sr_replace_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node* <span class='color_p'>src_config</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>, <span>int <span class='color_p'>wait</span></span>&#160;)</span> <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_33" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_replace_config&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node* <span class='color_p'>src_config</span></span>, <span>uint32_t <span class='color_p'>timeout_ms</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td><b>5th</b> parameter <b>wait</b> has been removed from the calling stack.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity <span class='warning'>&nbsp;8&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_34')">
<span class='ext'>[+]</span> <span class='ttype'>struct</span> sr_val_s <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_34" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>dflt</b> has been changed from <b>_Bool</b> to <b>int</b>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_35')">
[+] affected symbols: 25 (21.9%)</span>
<div id="c_35" style="display:none;">
<div class='affected'><span class='iname_a'>sr_dup_val&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>value</span></span>, <span>sr_val_t** <i>value_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_dup_values&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>, <span>sr_val_t** <i>values_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>sr_val_t const* <span class='fp'>values</span></span>, <span>size_t const <i>values_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_free_val&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_free_values&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>&#160;)</span></span><br/>
<div class='affect'>1st parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_change_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>sr_change_iter_t* <i>iter</i></span>, <span>sr_change_oper_t* <i>operation</i></span>, <span>sr_val_t** <i>old_value</i></span>, <span>sr_val_t** <span class='fp'>new_value</span></span>&#160;)</span></span><br/>
<div class='affect'>5th parameter &#39;new_value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_item&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_val_t** <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;value&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_get_items&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_get_oper_options_t const <i>opts</i></span>, <span>sr_val_t** <span class='fp'>values</span></span>, <span>size_t* <i>value_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>5th parameter &#39;values&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_new_val&#160;<span class='sym_p'><span>(&#160;char const* <i>xpath</i></span>, <span>sr_val_t** <span class='fp'>value_p</span></span>&#160;)</span></span><br/>
<div class='affect'>2nd parameter &#39;value_p&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
<span class='iname_a'>sr_new_values&#160;<span class='sym_p'><span>(&#160;size_t <i>count</i></span>, <span>sr_val_t** <span class='fp'>values_p</span></span>&#160;)</span></span><br/>
<div class='affect'>2nd parameter &#39;values_p&#39; (pointer) has base type &#39;struct sr_val_s&#39;.</div>
 <b>...</b>
<br/>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_36')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_event_notif_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_36" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>void(*)(sr_session_ctx_t*, sr_ev_notif_type_t const, char const*, sr_val_t const*, size_t const, time_t, void*)</span> to <span class='value'>void(*)(sr_session_ctx_t*, uint32_t, , char const*, sr_val_t const*, size_t const, struct timespec*, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_37')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_37" style="display:none;">
<div class='affected'><span class='iname_a'>sr_event_notif_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>time_t <i>start_time</i></span>, <span>time_t <i>stop_time</i></span>, <span>void(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, enum sr_ev_notif_type_e const, char const*, struct sr_val_s const*, unsigned long const, long, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>6th parameter &#39;callback&#39; is of type &#39;sr_event_notif_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_38')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_event_notif_tree_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_38" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>void(*)(sr_session_ctx_t*, sr_ev_notif_type_t const, struct lyd_node const*, time_t, void*)</span> to <span class='value'>void(*)(sr_session_ctx_t*, uint32_t, , struct lyd_node const*, struct timespec*, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_39')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_39" style="display:none;">
<div class='affected'><span class='iname_a'>sr_event_notif_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>time_t <i>start_time</i></span>, <span>time_t <i>stop_time</i></span>, <span>void(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, enum sr_ev_notif_type_e const, struct lyd_node const*, long, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>6th parameter &#39;callback&#39; is of type &#39;sr_event_notif_tree_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_40')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_module_change_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_40" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, char const*, sr_event_t, uint32_t, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, char const*, , uint32_t, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_41')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_41" style="display:none;">
<div class='affected'><span class='iname_a'>sr_module_change_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, char const*, enum sr_event_e, unsigned int, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;callback&#39; is of type &#39;sr_module_change_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_42')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_oper_get_items_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_42" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, char const*, char const*, uint32_t, struct lyd_node**, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, char const*, char const*, uint32_t, struct lyd_node**, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_43')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_43" style="display:none;">
<div class='affected'><span class='iname_a'>sr_oper_get_items_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>module_name</i></span>, <span>char const* <i>path</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, char const*, char const*, unsigned int, struct lyd_node**, void*)</span>, <span>void* <i>private_data</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>4th parameter &#39;callback&#39; is of type &#39;sr_oper_get_items_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_44')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_rpc_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_44" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, sr_val_t const*, size_t const, sr_event_t, uint32_t, sr_val_t**, size_t*, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, sr_val_t const*, size_t const, , uint32_t, sr_val_t**, size_t*, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_45')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_45" style="display:none;">
<div class='affected'><span class='iname_a'>sr_rpc_subscribe&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, struct sr_val_s const*, unsigned long const, enum sr_event_e, unsigned int, struct sr_val_s**, unsigned long*, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;callback&#39; is of type &#39;sr_rpc_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_46')">
<span class='ext'>[+]</span> <span class='ttype'>typedef</span> sr_rpc_tree_cb <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_46" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Base type has been changed from <span class='value'>int(*)(sr_session_ctx_t*, char const*, struct lyd_node const*, sr_event_t, uint32_t, struct lyd_node*, void*)</span> to <span class='value'>int(*)(sr_session_ctx_t*, uint32_t, char const*, struct lyd_node const*, , uint32_t, struct lyd_node*, void*)</span>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_47')">
[+] affected symbols: 1 (0.9%)</span>
<div id="c_47" style="display:none;">
<div class='affected'><span class='iname_a'>sr_rpc_subscribe_tree&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>int(*<span class='fp'>callback</span>)(struct sr_session_ctx_s*, char const*, struct lyd_node const*, enum sr_event_e, unsigned int, struct lyd_node*, void*)</span>, <span>void* <i>private_data</i></span>, <span>uint32_t <i>priority</i></span>, <span>sr_subscr_options_t <i>opts</i></span>, <span>sr_subscription_ctx_t** <i>subscription</i></span>&#160;)</span></span><br/>
<div class='affect'>3rd parameter &#39;callback&#39; is of type &#39;sr_rpc_tree_cb&#39;.</div>
</div>
</div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_48')">
<span class='ext'>[+]</span> <span class='ttype'>union</span> sr_data_u <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_48" style="display:none;">
<table class='ptable'><tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Type of field <b>bool_val</b> has been changed from <b>_Bool</b> to <b>int</b>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_49')">
[+] affected symbols: 25 (21.9%)</span>
<div id="c_49" style="display:none;">
<div class='affected'><span class='iname_a'>sr_dup_val&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>value</span></span>, <span>sr_val_t** <i>value_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 1st parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_dup_values&#160;<span class='sym_p'><span>(&#160;sr_val_t const* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>, <span>sr_val_t** <i>values_dup_p</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 1st parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_event_notif_send&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>sr_val_t const* <span class='fp'>values</span></span>, <span>size_t const <i>values_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 3rd parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_free_val&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 1st parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_free_values&#160;<span class='sym_p'><span>(&#160;sr_val_t* <span class='fp'>values</span></span>, <span>size_t <i>count</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 1st parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_change_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>sr_change_iter_t* <i>iter</i></span>, <span>sr_change_oper_t* <i>operation</i></span>, <span>sr_val_t** <i>old_value</i></span>, <span>sr_val_t** <span class='fp'>new_value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;new_value.data&#39; in 5th parameter &#39;new_value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_item&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>path</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_val_t** <span class='fp'>value</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value.data&#39; in 4th parameter &#39;value&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_get_items&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <i>session</i></span>, <span>char const* <i>xpath</i></span>, <span>uint32_t <i>timeout_ms</i></span>, <span>sr_get_oper_options_t const <i>opts</i></span>, <span>sr_val_t** <span class='fp'>values</span></span>, <span>size_t* <i>value_cnt</i></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values.data&#39; in 5th parameter &#39;values&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_new_val&#160;<span class='sym_p'><span>(&#160;char const* <i>xpath</i></span>, <span>sr_val_t** <span class='fp'>value_p</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;value_p.data&#39; in 2nd parameter &#39;value_p&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
<span class='iname_a'>sr_new_values&#160;<span class='sym_p'><span>(&#160;size_t <i>count</i></span>, <span>sr_val_t** <span class='fp'>values_p</span></span>&#160;)</span></span><br/>
<div class='affect'>Field &#39;values_p.data&#39; in 2nd parameter &#39;values_p&#39; (pointer) has base type &#39;union sr_data_u&#39;.</div>
 <b>...</b>
<br/>
</div>
</div>
<br/><br/></div>

<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Symbol_Source_Problems_Low'></a><a name='Interface_Source_Problems_Low'></a>
<h2>Problems with Symbols, Low Severity <span class='warning'>&nbsp;2&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_50')">
<span class='ext'>[+]</span> sr_get_change_tree_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_change_iter_t* <span class='color_p'>iter</span></span>, <span>sr_change_oper_t* <span class='color_p'>operation</span></span>, <span>struct lyd_node const** <span class='color_p'>node</span></span>, <span>char const** <span class='color_p'>prev_value</span></span>, <span>char const** <span class='color_p'>prev_list</span></span>, <span>_Bool* <span class='color_p'>prev_dflt</span></span>&#160;)</span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_50" style="display:none;">


<span class='new_sign_lbl'>&#8675;</span>
<br/>
<span class='new_sign'>sr_get_change_tree_next&#160;<span class='sym_p'><span>(&#160;sr_session_ctx_t* <span class='color_p'>session</span></span>, <span>sr_change_iter_t* <span class='color_p'>iter</span></span>, <span>struct lyd_node const** <span class='color_p'>node</span></span>, <span>char const** <span class='color_p'>prev_value</span></span>, <span>char const** <span class='color_p'>prev_list</span></span>, <span>int* <span class='color_p'>prev_dflt</span></span>&#160;)</span></span><br/>
<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Base type of <b>7th</b> parameter <b>prev_dflt</b> has been changed from <b>_Bool</b> to <b>int</b>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<br/>
<span class='h_name'>xpath.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_51')">
<span class='ext'>[+]</span> sr_xpath_node_name_eq&#160;<span class='sym_p'><span>(&#160;char const* <span class='color_p'>xpath</span></span>, <span>char const* <span class='color_p'>node_name</span></span>&#160;)</span> <span class='warning'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_51" style="display:none;">

<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of return value has been changed from <b>_Bool</b> to <b>int</b>.</td>
<td>Recompilation of a client program may be broken.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Symbols'></a><a name='Other_Source_Changes_In_Interfaces'></a>
<h2>Other Changes in Symbols <span class='passed'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>sysrepo.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_52')">
<span class='ext'>[+]</span> sr_set_diff_check_callback&#160;<span class='sym_p'><span>(&#160;sr_conn_ctx_t* <span class='color_p'>conn</span></span>, <span>sr_diff_check_cb <span class='color_p'>callback</span></span>&#160;)</span> <span class='passed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_52" style="display:none;">

<table class='ptable'>
<tr>
<th class='pn'></th>
<th class='chg'>Change</th>
<th>Effect</th>
</tr>
<tr>
<th>1</th>
<td>Type of return value has been changed from <b>void</b> to <b>int</b>.</td>
<td>No effect.</td>
</tr>
</table>
<br/>
</div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;3&nbsp;</span></h2><hr/>
<div class='h_list'>
sysrepo.h<br/>
values.h<br/>
xpath.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libsysrepo.so.5.6.67<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><hr/>
<div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.3 &#160;</i>
</div>
<br/>

</body></html>
